/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modele.combinaison;

import java.util.Map;

/**
 * Classe CombinaisonSimple : Réprésente les combinaisons 
 * composées par la valeur du dé multiplié par son nombre d'apparition
 * @author Florian Minin & Khémon Beh
 */
public abstract class CombinaisonSimple implements Combinaison {
    //As	1 × le nombre de dés 1 obtenus
    public final static int AS = 1;
    //Deux	2 × le nombre de dés 2 obtenus
    public final static int DEUX = 2;
    //Trois	3 × le nombre de dés 3 obtenus
    public final static int TROIS = 3;
    //Quatre	4 × le nombre de dés 4 obtenus
    public final static int QUATRE = 4;
    //Cinq	5 × le nombre de dés 5 obtenus
    public final static int CINQ = 5;
    //Six       6 × le nombre de dés 6 obtenus
    public final static int SIX = 6;

    public final static String COMBINAISON_SIMPLE = "Combinaison simple";

    protected int nbDes;

    /**
     * Constructeur
     */
    public CombinaisonSimple(){}

    public CombinaisonSimple(Map<Integer,Integer> donnees) {
        recupereValeurDes(donnees);
    }
    
    public abstract int valeurDe();

    public void recupereValeurDes(Map<Integer,Integer> valeursDes){
        this.nbDes = valeursDes.get(valeurDe());
    }

    public int calculeScoreCombinaison(){
        return this.nbDes * valeurDe();
    }

    public String getTypeCombinaison(){
        return COMBINAISON_SIMPLE;
    }
}
